const {ipcRenderer} = require('electron');

/**
 * 获取左边文件列表
 * @param cb
 */
function getMenuList(cb) {
    console.log('query menu list');
    ipcRenderer.send('queyMenuList', {
        id: 'queyMenuList'// 主进程回调时的唯一参数，通过该参数来确定各个接口不受影响
    });
    ipcRenderer.on('sendMenuList', function (event, args) {
        cb(args);
    });
}

/**
 * 获取指定文件全部的内容
 * @param path
 * @param cb
 */
function getFileData(path, cb) {
    console.log('query File Data');
    ipcRenderer.send('queryFileData', {
        path,
        id: 'queryFileData'// 主进程回调时的唯一参数，通过该参数来确定各个接口不受影响
    });
    ipcRenderer.on('sendFileData', function (event, args) {
        cb(args);
    });
}

/**
 * 保存用户输入的文字到对应的文件
 * @param path
 * @param data
 * @param cb
 */
function sendFileData(path, data, cb) {
    console.log('send File Data');
    ipcRenderer.send('sendFileData', {
        path,
        data,
        id: 'sendFileData'// 主进程回调时的唯一参数，通过该参数来确定各个接口不受影响
    });
    ipcRenderer.on('getSaveDataStatus', function (event, args) {
        cb(args);
    });
}

/**
 * 与云端同步页面数据
 * @param cb
 */

function reportNote(cb) {
    console.log('report Note')
    ipcRenderer.send('reportNote', {
        id: 'reportNote'// 主进程回调时的唯一参数，通过该参数来确定各个接口不受影响
    });
    ipcRenderer.on('getReportNoteStatus', function (event, args) {
        console.log('report Note type', args);
        cb(args);
    });
}

/**
 * clone仓库地址
 * @param cb
 */

function cloneStore(cb) {
    console.log('clone Store')
    ipcRenderer.send('cloneStore', {
        id: 'cloneStore'// 主进程回调时的唯一参数，通过该参数来确定各个接口不受影响
    });
    ipcRenderer.on('getCloneStoreStatus', function (event, args) {
        cb(args);
    });
}

/**
 * 新建文件
 * @param cb
 */
function createFile(cb) {
    console.log('create File');
    ipcRenderer.send('createFile', {
        id: 'createFile'
    });
    ipcRenderer.on('getCreateFileStatus', function (event, args) {
        cb(args);
    });
}